Definition (gross substitutes)

Consider a valuation function, which is a set function f:2Mf: 2^M \to \mathbb{R} over a set MM of mm items assigning a real value f(S)f(S) to each set SMS \subseteq M, which is additionally monotone (f(T)f(S)f(T) \leq f(S) for every TST \subseteq S) and normalized (f()=0f(\emptyset) = 0). Let 𝐩=(p1,...,pm)m\mathbf{p} = (p_1,...,p_m) \in \mathbb{R}^m be a price vector. Then, the demand of ff under 𝐩\mathbf{p} is D(𝐩)=argmaxSM{f(S)jSpj}D(\mathbf{p}) = \arg\max_{S \subseteq M} \{f(S) - \sum_{j \in S} p_j\}.

A valuation function ff is gross substitutes (GS) if for every pair of price vectors 𝐩,𝐪\mathbf{p},\mathbf{q} such that 𝐩𝐪\mathbf{p} \leq \mathbf{q}, for every set SD(𝐩)S \in D(\mathbf{p}), there exists TD(𝐪)T \in D(\mathbf{q}) such that TT contains every item jSj \in S such that pj=qjp_j = q_j.

Definition (MM^\natural-convex function)

A function is defined as MM^\natural-convex (M-convex on a g-polymatroid) if
#incomplete

Notes

See also


References

  1. S. Dobzinski, U. Feige, M. Feldman, and R. P. Leme, “Are Gross Substitutes a Substitute for Submodular Valuations?,” Feb. 20, 2022, arXiv: arXiv:2102.13343. doi: 10.48550/arXiv.2102.13343.
  2. N. Nisan, T. Roughgarden, É. Tardos, and V. V. Vazirani, Algorithmic game theory. New York: Cambridge university press, 2007, p. 138. [Online]. Available: https://www.cs.cmu.edu/~sandholm/cs15-892F13/algorithmic-game-theory.pdf
  3. P. Duetting, T. Ezra, M. Feldman, and T. Kesselheim, “Combinatorial Contracts,” Sept. 02, 2025, arXiv: arXiv:2109.14260. doi: 10.48550/arXiv.2109.14260.
  4. K. Murota and A. Shioura, “M-Convex Function on Generalized Polymatroid,” Mathematics of OR, vol. 24, no. 1, pp. 95–105, Feb. 1999, doi: 10.1287/moor.24.1.95.
  5. T. Oki and S. Sakaue, “No-Regret M{}^{\natural}-Concave Function Maximization: Stochastic Bandit Algorithms and Hardness of Adversarial Full-Information Setting,” Aug. 26, 2025, arXiv: arXiv:2405.12439. doi: 10.48550/arXiv.2405.12439.
  6. https://en.wikipedia.org/wiki/Gross_substitutes_(indivisible_items)